<!-- HTML header for doxygen 1.8.9.1-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
<title>Compute Library: NEPixelWiseMultiplicationKernel Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Compute Library
   &#160;<span id="projectnumber">18.05</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.xhtml"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.xhtml"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.xhtml"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.xhtml"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
      <li><a href="classes.xhtml"><span>Data&#160;Structure&#160;Index</span></a></li>
      <li><a href="inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.xhtml"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">NEPixelWiseMultiplicationKernel Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Interface for the kernel to perform addition between two tensors.  
 <a href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_n_e_pixel_wise_multiplication_kernel_8h_source.xhtml">NEPixelWiseMultiplicationKernel.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for NEPixelWiseMultiplicationKernel:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel__coll__graph.svg" width="192" height="202"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.xhtml">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ab5656bb5b6334bdbe6e606c715872828"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml#ab5656bb5b6334bdbe6e606c715872828">name</a> () const override</td></tr>
<tr class="memdesc:ab5656bb5b6334bdbe6e606c715872828"><td class="mdescLeft">&#160;</td><td class="mdescRight">Name of the kernel.  <a href="#ab5656bb5b6334bdbe6e606c715872828">More...</a><br /></td></tr>
<tr class="separator:ab5656bb5b6334bdbe6e606c715872828"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75e09a8ec40fb21b0f71421960b540a6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml#a75e09a8ec40fb21b0f71421960b540a6">NEPixelWiseMultiplicationKernel</a> ()</td></tr>
<tr class="memdesc:a75e09a8ec40fb21b0f71421960b540a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor.  <a href="#a75e09a8ec40fb21b0f71421960b540a6">More...</a><br /></td></tr>
<tr class="separator:a75e09a8ec40fb21b0f71421960b540a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac23503429643fa0415fd64b1fc17e40c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml#ac23503429643fa0415fd64b1fc17e40c">NEPixelWiseMultiplicationKernel</a> (const <a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a> &amp;)=delete</td></tr>
<tr class="memdesc:ac23503429643fa0415fd64b1fc17e40c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prevent instances of this class from being copied (As this class contains pointers)  <a href="#ac23503429643fa0415fd64b1fc17e40c">More...</a><br /></td></tr>
<tr class="separator:ac23503429643fa0415fd64b1fc17e40c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6685c2ffbda12dbf1e4706b85c688e19"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml#a6685c2ffbda12dbf1e4706b85c688e19">operator=</a> (const <a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a> &amp;)=delete</td></tr>
<tr class="memdesc:a6685c2ffbda12dbf1e4706b85c688e19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prevent instances of this class from being copied (As this class contains pointers)  <a href="#a6685c2ffbda12dbf1e4706b85c688e19">More...</a><br /></td></tr>
<tr class="separator:a6685c2ffbda12dbf1e4706b85c688e19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a032fb6504d12ca1244b2d7d82609f062"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml#a032fb6504d12ca1244b2d7d82609f062">NEPixelWiseMultiplicationKernel</a> (<a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a> &amp;&amp;)=default</td></tr>
<tr class="memdesc:a032fb6504d12ca1244b2d7d82609f062"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow instances of this class to be moved.  <a href="#a032fb6504d12ca1244b2d7d82609f062">More...</a><br /></td></tr>
<tr class="separator:a032fb6504d12ca1244b2d7d82609f062"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa5c44de29693435660b5c849c62e991"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml#aaa5c44de29693435660b5c849c62e991">operator=</a> (<a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a> &amp;&amp;)=default</td></tr>
<tr class="memdesc:aaa5c44de29693435660b5c849c62e991"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow instances of this class to be moved.  <a href="#aaa5c44de29693435660b5c849c62e991">More...</a><br /></td></tr>
<tr class="separator:aaa5c44de29693435660b5c849c62e991"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab299ab73ca304f9e10359a54a763f4d3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml#ab299ab73ca304f9e10359a54a763f4d3">~NEPixelWiseMultiplicationKernel</a> ()=default</td></tr>
<tr class="memdesc:ab299ab73ca304f9e10359a54a763f4d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default destructor.  <a href="#ab299ab73ca304f9e10359a54a763f4d3">More...</a><br /></td></tr>
<tr class="separator:ab299ab73ca304f9e10359a54a763f4d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab214c0eb5acd40bde3f8a3fb6c0a6613"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml#ab214c0eb5acd40bde3f8a3fb6c0a6613">configure</a> (const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *input1, const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *input2, <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *output, float scale, <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a> overflow_policy, <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> rounding_policy)</td></tr>
<tr class="memdesc:ab214c0eb5acd40bde3f8a3fb6c0a6613"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialise the kernel's input, output and border mode.  <a href="#ab214c0eb5acd40bde3f8a3fb6c0a6613">More...</a><br /></td></tr>
<tr class="separator:ab214c0eb5acd40bde3f8a3fb6c0a6613"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a112b35dd205c62ea6ed1447ef226da82"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml#a112b35dd205c62ea6ed1447ef226da82">run</a> (const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;<a class="el" href="classarm__compute_1_1_i_kernel.xhtml#a3f5646133956f06348b310ccc3d36353">window</a>, const <a class="el" href="structarm__compute_1_1_thread_info.xhtml">ThreadInfo</a> &amp;info) override</td></tr>
<tr class="memdesc:a112b35dd205c62ea6ed1447ef226da82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute the kernel on the passed window.  <a href="#a112b35dd205c62ea6ed1447ef226da82">More...</a><br /></td></tr>
<tr class="separator:a112b35dd205c62ea6ed1447ef226da82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a423f9a45a52983b4de5e2b347f4369c7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml#a423f9a45a52983b4de5e2b347f4369c7">border_size</a> () const override</td></tr>
<tr class="memdesc:a423f9a45a52983b4de5e2b347f4369c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The size of the border for that kernel.  <a href="#a423f9a45a52983b4de5e2b347f4369c7">More...</a><br /></td></tr>
<tr class="separator:a423f9a45a52983b4de5e2b347f4369c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classarm__compute_1_1_i_c_p_p_kernel"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarm__compute_1_1_i_c_p_p_kernel')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarm__compute_1_1_i_c_p_p_kernel.xhtml">ICPPKernel</a></td></tr>
<tr class="memitem:a033d17a97e07cea7fe83eefcf23540f6 inherit pub_methods_classarm__compute_1_1_i_c_p_p_kernel"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_c_p_p_kernel.xhtml#a033d17a97e07cea7fe83eefcf23540f6">~ICPPKernel</a> ()=default</td></tr>
<tr class="memdesc:a033d17a97e07cea7fe83eefcf23540f6 inherit pub_methods_classarm__compute_1_1_i_c_p_p_kernel"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default destructor.  <a href="#a033d17a97e07cea7fe83eefcf23540f6">More...</a><br /></td></tr>
<tr class="separator:a033d17a97e07cea7fe83eefcf23540f6 inherit pub_methods_classarm__compute_1_1_i_c_p_p_kernel"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classarm__compute_1_1_i_kernel"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarm__compute_1_1_i_kernel')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarm__compute_1_1_i_kernel.xhtml">IKernel</a></td></tr>
<tr class="memitem:a7250cb8cbaa4104a93a2d77155085507 inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_kernel.xhtml#a7250cb8cbaa4104a93a2d77155085507">IKernel</a> ()</td></tr>
<tr class="memdesc:a7250cb8cbaa4104a93a2d77155085507 inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a7250cb8cbaa4104a93a2d77155085507">More...</a><br /></td></tr>
<tr class="separator:a7250cb8cbaa4104a93a2d77155085507 inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a341b60d15a5e12a5b8f3825194dd3b12 inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_kernel.xhtml#a341b60d15a5e12a5b8f3825194dd3b12">~IKernel</a> ()=default</td></tr>
<tr class="memdesc:a341b60d15a5e12a5b8f3825194dd3b12 inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a341b60d15a5e12a5b8f3825194dd3b12">More...</a><br /></td></tr>
<tr class="separator:a341b60d15a5e12a5b8f3825194dd3b12 inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfab8f0d4928e1081d9f65b77933e24a inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_kernel.xhtml#abfab8f0d4928e1081d9f65b77933e24a">is_parallelisable</a> () const </td></tr>
<tr class="memdesc:abfab8f0d4928e1081d9f65b77933e24a inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates whether or not the kernel is parallelisable.  <a href="#abfab8f0d4928e1081d9f65b77933e24a">More...</a><br /></td></tr>
<tr class="separator:abfab8f0d4928e1081d9f65b77933e24a inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f5646133956f06348b310ccc3d36353 inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_kernel.xhtml#a3f5646133956f06348b310ccc3d36353">window</a> () const </td></tr>
<tr class="memdesc:a3f5646133956f06348b310ccc3d36353 inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="mdescLeft">&#160;</td><td class="mdescRight">The maximum window the kernel can be executed on.  <a href="#a3f5646133956f06348b310ccc3d36353">More...</a><br /></td></tr>
<tr class="separator:a3f5646133956f06348b310ccc3d36353 inherit pub_methods_classarm__compute_1_1_i_kernel"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:ad2d7ece77e2d56742022a0e604416007"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classarm__compute_1_1_status.xhtml">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml#ad2d7ece77e2d56742022a0e604416007">validate</a> (const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *input1, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *input2, const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *output, float scale, <a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a> overflow_policy, <a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a> rounding_policy)</td></tr>
<tr class="memdesc:ad2d7ece77e2d56742022a0e604416007"><td class="mdescLeft">&#160;</td><td class="mdescRight">Static function to check if given info will lead to a valid configuration of <a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a>.  <a href="#ad2d7ece77e2d56742022a0e604416007">More...</a><br /></td></tr>
<tr class="separator:ad2d7ece77e2d56742022a0e604416007"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Interface for the kernel to perform addition between two tensors. </p>

<p>Definition at line <a class="el" href="_n_e_pixel_wise_multiplication_kernel_8h_source.xhtml#l00035">35</a> of file <a class="el" href="_n_e_pixel_wise_multiplication_kernel_8h_source.xhtml">NEPixelWiseMultiplicationKernel.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a75e09a8ec40fb21b0f71421960b540a6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Default constructor. </p>

<p>Referenced by <a class="el" href="_n_e_pixel_wise_multiplication_kernel_8h_source.xhtml#l00038">NEPixelWiseMultiplicationKernel::name()</a>.</p>

</div>
</div>
<a class="anchor" id="ac23503429643fa0415fd64b1fc17e40c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prevent instances of this class from being copied (As this class contains pointers) </p>

</div>
</div>
<a class="anchor" id="a032fb6504d12ca1244b2d7d82609f062"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a> &amp;&amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Allow instances of this class to be moved. </p>

</div>
</div>
<a class="anchor" id="ab299ab73ca304f9e10359a54a763f4d3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">~<a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default destructor. </p>

<p>Referenced by <a class="el" href="_n_e_pixel_wise_multiplication_kernel_8h_source.xhtml#l00038">NEPixelWiseMultiplicationKernel::name()</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a423f9a45a52983b4de5e2b347f4369c7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structarm__compute_1_1_border_size.xhtml">BorderSize</a> border_size </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The size of the border for that kernel. </p>
<dl class="section return"><dt>Returns</dt><dd>The width in number of elements of the border. </dd></dl>

<p>Reimplemented from <a class="el" href="classarm__compute_1_1_i_kernel.xhtml#aa6daa9b04e2035bf007e5e5c3c4396a8">IKernel</a>.</p>

<p>Referenced by <a class="el" href="_n_e_pixel_wise_multiplication_kernel_8h_source.xhtml#l00038">NEPixelWiseMultiplicationKernel::name()</a>.</p>

</div>
</div>
<a class="anchor" id="ab214c0eb5acd40bde3f8a3fb6c0a6613"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void configure </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
          <td class="paramname"><em>input1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
          <td class="paramname"><em>input2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> *&#160;</td>
          <td class="paramname"><em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>scale</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a>&#160;</td>
          <td class="paramname"><em>overflow_policy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a>&#160;</td>
          <td class="paramname"><em>rounding_policy</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initialise the kernel's input, output and border mode. </p>
<dl class="section note"><dt>Note</dt><dd>For <code>scale</code> equal to 1/255 only round to nearest even (implemented as round half up) is supported. For all other scale values only round to zero (implemented as round towards minus infinity) is supported. For QS8/QS16 scale = 1 is the only supported value.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">input1</td><td>An input tensor. Data types supported: U8/QS8/QS16/S16/F16/F32 </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">input2</td><td>An input tensor. Data types supported: U8, QS8 (only if <code>input1</code> is QS8), QS16 (only if <code>input1</code> is QS16), S16/F16 (only if <code>input1</code> is F16), F32 (only if <code>input1</code> is F32). </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>The output tensor. Data types supported: U8 (Only if both inputs are U8), QS8 (only if both inputs are QS8), QS16 (only if both inputs are QS16), S16/F16 (only if <code>input1</code> is F16), F32 (only if both inputs are F32). </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">scale</td><td>Scale to apply after multiplication. Scale must be positive and its value must be either 1/255 or 1/2^n where n is between 0 and 15. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">overflow_policy</td><td>Overflow policy. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rounding_policy</td><td>Rounding policy. </td></tr>
  </table>
  </dd>
</dl>

<p>Referenced by <a class="el" href="_n_e_pixel_wise_multiplication_kernel_8h_source.xhtml#l00038">NEPixelWiseMultiplicationKernel::name()</a>.</p>

</div>
</div>
<a class="anchor" id="ab5656bb5b6334bdbe6e606c715872828"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char* name </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Name of the kernel. </p>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classarm__compute_1_1_kernel.xhtml" title="Kernel class. ">Kernel</a> name </dd></dl>

<p>Implements <a class="el" href="classarm__compute_1_1_i_c_p_p_kernel.xhtml#a1a30ad8f276a2310571c36239554831a">ICPPKernel</a>.</p>

<p>Definition at line <a class="el" href="_n_e_pixel_wise_multiplication_kernel_8h_source.xhtml#l00038">38</a> of file <a class="el" href="_n_e_pixel_wise_multiplication_kernel_8h_source.xhtml">NEPixelWiseMultiplicationKernel.h</a>.</p>

<p>References <a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml#a423f9a45a52983b4de5e2b347f4369c7">NEPixelWiseMultiplicationKernel::border_size()</a>, <a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml#ab214c0eb5acd40bde3f8a3fb6c0a6613">NEPixelWiseMultiplicationKernel::configure()</a>, <a class="el" href="namespacearm__compute_1_1test_1_1validation.xhtml#a096668313a9a819d54a2e65ec21ff0cc">arm_compute::test::validation::info()</a>, <a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml#a75e09a8ec40fb21b0f71421960b540a6">NEPixelWiseMultiplicationKernel::NEPixelWiseMultiplicationKernel()</a>, <a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml#a6685c2ffbda12dbf1e4706b85c688e19">NEPixelWiseMultiplicationKernel::operator=()</a>, <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00178">arm_compute::test::validation::rounding_policy</a>, <a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml#a112b35dd205c62ea6ed1447ef226da82">NEPixelWiseMultiplicationKernel::run()</a>, <a class="el" href="_n_e_o_n_2_pixel_wise_multiplication_8cpp_source.xhtml#l00178">arm_compute::test::validation::scale</a>, <a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml#ad2d7ece77e2d56742022a0e604416007">NEPixelWiseMultiplicationKernel::validate()</a>, <a class="el" href="classarm__compute_1_1_i_kernel.xhtml#a3f5646133956f06348b310ccc3d36353">IKernel::window()</a>, and <a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml#ab299ab73ca304f9e10359a54a763f4d3">NEPixelWiseMultiplicationKernel::~NEPixelWiseMultiplicationKernel()</a>.</p>
<div class="fragment"><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    {</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        <span class="keywordflow">return</span> <span class="stringliteral">&quot;NEPixelWiseMultiplicationKernel&quot;</span>;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a6685c2ffbda12dbf1e4706b85c688e19"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a>&amp; operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prevent instances of this class from being copied (As this class contains pointers) </p>

<p>Referenced by <a class="el" href="_n_e_pixel_wise_multiplication_kernel_8h_source.xhtml#l00038">NEPixelWiseMultiplicationKernel::name()</a>.</p>

</div>
</div>
<a class="anchor" id="aaa5c44de29693435660b5c849c62e991"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a>&amp; operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a> &amp;&amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Allow instances of this class to be moved. </p>

</div>
</div>
<a class="anchor" id="a112b35dd205c62ea6ed1447ef226da82"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void run </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_window.xhtml">Window</a> &amp;&#160;</td>
          <td class="paramname"><em>window</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structarm__compute_1_1_thread_info.xhtml">ThreadInfo</a> &amp;&#160;</td>
          <td class="paramname"><em>info</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Execute the kernel on the passed window. </p>
<dl class="section warning"><dt>Warning</dt><dd>If <a class="el" href="classarm__compute_1_1_i_kernel.xhtml#abfab8f0d4928e1081d9f65b77933e24a" title="Indicates whether or not the kernel is parallelisable. ">is_parallelisable()</a> returns false then the passed window must be equal to <a class="el" href="classarm__compute_1_1_i_kernel.xhtml#a3f5646133956f06348b310ccc3d36353" title="The maximum window the kernel can be executed on. ">window()</a></dd></dl>
<dl class="section note"><dt>Note</dt><dd>The window has to be a region within the window returned by the <a class="el" href="classarm__compute_1_1_i_kernel.xhtml#a3f5646133956f06348b310ccc3d36353" title="The maximum window the kernel can be executed on. ">window()</a> method</dd>
<dd>
The width of the window has to be a multiple of num_elems_processed_per_iteration().</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">window</td><td>Region on which to execute the kernel. (Must be a region of the window returned by <a class="el" href="classarm__compute_1_1_i_kernel.xhtml#a3f5646133956f06348b310ccc3d36353" title="The maximum window the kernel can be executed on. ">window()</a>) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">info</td><td>Info about executing thread and CPU. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="classarm__compute_1_1_i_c_p_p_kernel.xhtml#af814ff5e96f40f1cccf809b2b4ee19ef">ICPPKernel</a>.</p>

<p>Referenced by <a class="el" href="_n_e_pixel_wise_multiplication_kernel_8h_source.xhtml#l00038">NEPixelWiseMultiplicationKernel::name()</a>.</p>

</div>
</div>
<a class="anchor" id="ad2d7ece77e2d56742022a0e604416007"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classarm__compute_1_1_status.xhtml">Status</a> validate </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
          <td class="paramname"><em>input1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
          <td class="paramname"><em>input2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td>
          <td class="paramname"><em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>scale</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a82b8ac759c804bc1fb4e2d21e178fb6f">ConvertPolicy</a>&#160;</td>
          <td class="paramname"><em>overflow_policy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#add6426cbf2e057a195846d4ba09a50be">RoundingPolicy</a>&#160;</td>
          <td class="paramname"><em>rounding_policy</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Static function to check if given info will lead to a valid configuration of <a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a>. </p>
<dl class="section note"><dt>Note</dt><dd>For <code>scale</code> equal to 1/255 only round to nearest even (implemented as round half up) is supported. For all other scale values only round to zero (implemented as round towards minus infinity) is supported. For QS8/QS16 scale = 1 is the only supported value.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">input1</td><td>An input tensor. Data types supported: U8/QS8/QS16/S16/F16/F32 </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">input2</td><td>An input tensor. Data types supported: U8, QS8 (only if <code>input1</code> is QS8), QS16 (only if <code>input1</code> is QS16), S16/F16 (only if <code>input1</code> is F16), F32 (only if <code>input1</code> is F32). </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>The output tensor. Data types supported: U8 (Only if both inputs are U8), QS8 (only if both inputs are QS8), QS16 (only if both inputs are QS16), S16/F16 (only if <code>input1</code> is F16), F32 (only if both inputs are F32). </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">scale</td><td>Scale to apply after multiplication. Scale must be positive and its value must be either 1/255 or 1/2^n where n is between 0 and 15. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">overflow_policy</td><td>Overflow policy. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rounding_policy</td><td>Rounding policy.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a status </dd></dl>

<p>Referenced by <a class="el" href="_n_e_pixel_wise_multiplication_kernel_8h_source.xhtml#l00038">NEPixelWiseMultiplicationKernel::name()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>arm_compute/core/NEON/kernels/<a class="el" href="_n_e_pixel_wise_multiplication_kernel_8h_source.xhtml">NEPixelWiseMultiplicationKernel.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespacearm__compute.xhtml">arm_compute</a></li><li class="navelem"><a class="el" href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml">NEPixelWiseMultiplicationKernel</a></li>
    <li class="footer">Generated on Wed May 23 2018 11:36:42 for Compute Library by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
